package com.tanhua.dubbo.api;

import com.tanhua.model.vo.UserLocationVo;
import org.springframework.data.mongodb.core.geo.GeoJsonPoint;

import java.util.List;

public interface UserLocationApi {

    /**
     * 上报地理位置
     * @param latitude
     * @param longitude
     * @param address
     * @param userId
     */
    void addLocation(Double latitude, Double longitude, String address, Long userId);


    /**
     * 搜附近
     * @param userId
     * @param
     * @return
     */
    List<UserLocationVo> searchNear(Long userId, Long miles);

    /**
     * 查询地理位置
     * @param userId
     * @return
     */
    GeoJsonPoint findLocation(Long userId);

    //更新地理位置
    Boolean updateLocation(Long userId, Double longitude, Double latitude, String address);

    //查询附近的用户（返回的是附近的人的所有用户id，包含当前用户的id）
    List<Long> queryNearUser(Long userId, Double metre);
}
